package pos.domain;

import java.util.LinkedList;
import java.util.List;



public class Punto {

	private String nombre;
	private String icono;
	
	public Punto(String nombre, String lugar, Double longitud, Double latitud,
			String descripcion,Usuario registrado, String icono) {
		super();
		this.nombre=nombre;
		this.lugar = lugar;
		this.longitud = longitud;
		this.latitud = latitud;
		this.descripcion = descripcion;
		this.registrado=registrado;
		this.ofertas = new LinkedList<Oferta>();
		this.icono=icono;
	}
	public Punto(){
		this.nombre="vacio";
		this.lugar = "";
		this.longitud = 0.0;
		this.latitud = 0.0;
		this.descripcion = "";
		this.registrado= null;
		this.ofertas = new LinkedList<Oferta>();
		this.icono=("http://google-maps-icons.googlecode.com/files/restaurantgourmet.png");
	}

	
	/**
	 * Locacion del objetivo
	 * @uml.property  name="lugar"
	 */
	private String lugar;

	/**
	 * Getter of the property <tt>lugar</tt>
	 * @return  Returns the lugar.
	 * @uml.property  name="lugar"
	 */
	public String getLugar() {
		return lugar;
	}

	/**
	 * Setter of the property <tt>lugar</tt>
	 * @param lugar  The lugar to set.
	 * @uml.property  name="lugar"
	 */
	public void setLugar(String lugar) {
		this.lugar = lugar;
	}

	/** 
	 * Getter of the property <tt>latitud</tt>
	 * @return  Returns the latitud.
	 * @uml.property  name="latitud"
	 */
	public Double getLatitud() {
		return latitud;
	}

	/** 
	 * Setter of the property <tt>latitud</tt>
	 * @param latitud  The latitud to set.
	 * @uml.property  name="latitud"
	 */
	public void setLatitud(Double latitud) {
		this.latitud = latitud;
	}

	/**
	 * Posicion x del mapa
	 * @uml.property  name="longitud"
	 */
	private Double longitud;

	/** 
	 * Getter of the property <tt>Longitus</tt>
	 * @return  Returns the longitus.
	 * @uml.property  name="longitud"
	 */
	public Double getLongitud() {
		return longitud;
	}

	/** 
	 * Setter of the property <tt>Longitus</tt>
	 * @param Longitus  The longitus to set.
	 * @uml.property  name="longitud"
	 */
	public void setLongitud(Double longitud) {
		this.longitud = longitud;
	}

	/**
	 * Posicion y del mapa
	 * @uml.property  name="latitud"
	 */
	private Double latitud;
	/**
	 * Informaci�n sobre el punto
	 * @uml.property  name="descripcion"
	 */
	private String descripcion;

	/**
	 * Getter of the property <tt>descripcion</tt>
	 * @return  Returns the descripcion.
	 * @uml.property  name="descripcion"
	 */
	public String getDescripcion() {
		return descripcion;
	}

	/**
	 * Setter of the property <tt>descripcion</tt>
	 * @param descripcion  The descripcion to set.
	 * @uml.property  name="descripcion"
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}




	/** 
	 * @uml.property name="usuario"
	 * @uml.associationEnd inverse="puntos:Clases.domain.Usuario"
	 */
	private Usuario registrado = new Usuario();

	/** 
	 * @uml.property name="ofertas"
	 * @uml.associationEnd multiplicity="(0 -1)" ordering="true" aggregation="composite" inverse="punto:Clases.domain.Oferta"
	 */
	private List<Oferta> ofertas;

	/**
	 * Getter of the property <tt>ofertas</tt>
	 * @return  Returns the ofertas.
	 * @uml.property  name="ofertas"
	 */
	public List<Oferta> getOfertas() {
		return ofertas;
	}

	/**
	 * Setter of the property <tt>ofertas</tt>
	 * @param ofertas  The ofertas to set.
	 * @uml.property  name="ofertas"
	 */
	public void setOfertas(List<Oferta> ofertas) {
		this.ofertas = ofertas;
	}

	/** 
	 * Getter of the property <tt>usuario</tt>
	 * @return  Returns the registrado.
	 * @uml.property  name="usuario"
	 */
	public Usuario getUsuario() {
		return registrado;
	}

	/** 
	 * Setter of the property <tt>usuario</tt>
	 * @param usuario  The registrado to set.
	 * @uml.property  name="usuario"
	 */
	public void setUsuario(Usuario usuario) {
		registrado = usuario;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getNombre() {
		return nombre;
	}
	@Override
	public String toString() {
		return "Punto [descripcion=" + descripcion + ", latitud=" + latitud
				+ ", longitud=" + longitud + ", lugar=" + lugar + ", nombre="
				+ nombre + ", ofertas=" + ofertas + ", registrado="
				+ registrado +"icono=" + icono+"]";
	}
	public void setIcono(String icono) {
		this.icono = icono;
	}
	public String getIcono() {
		return icono;
	}

	
}
